, ,

apt-get

Apt-get est un outil logiciel à utiliser en ligne de commande.
Il permet d'effectuer l'installation et la désinstallation de paquets en provenance d'un dépôt APT.

apt-get fournit un retour facilement analysable par un script et garantit une certaine rétro-compatibilité.

Cependant les fonctionnalités que proposent apt-get sont également disponibles via la commande apt, qui est plus conviviale pour l'utilisateur final. Préférez apt si vous comptez accéder directement à ces fonctionnalités via la ligne de commande.

Pré-requis

Pour utiliser apt-get, vous devez disposer des droits d'administration.
Si vous ne faites que télécharger les codes sources, vous pouvez vous passer des droits d'administration. Les paquets téléchargés sont placés dans555555555555555555555555555555555555555555552222222222222222

votre dossier personnel.

Installation de paquets ===Linux

Vous pouvez également utiliser la commande suivante "sudo apt install <packet>", elle a 2 avantages par rapport à apt-get: la coloration du texte pour mieux se repérer et une barre d'avancement durant la décompression et la configuration des paquets.
sudo apt-get install <packet> <packet 2> etc ...

Soulignage

Vérifier la version ==Linux

Avant de lancer l'installation, il est parfois utile de vérifier la version qui sera installée, les dépendances, …

apt show <nom_du_paquet>

Installation d'une version présente dans les dépôts

Très utile pour revenir à une version officielle d'un paquet (qui aurait été "upgradé à la main").

Installation avec réponse oui

Réparer une installation

Bien que ce cas de figure soit un peu rare, il peut arriver qu'une dépendance vienne à manquer à un logiciel installé sur votre système.
La commande suivante permettra de résoudre le problème :

sudo apt-get install -f

Il faut cependant que la dépendance soit disponible dans les dépôts.

Utilisée avec install ou remove, cette commande exclura le paquet spécifié pour rechercher une solution viable pour le système.
Exemple :
sudo apt-get -f install vlc

recherchera une solution pour faire fonctionner VLC media player sans corrompre le système (FIXME).

Forcer une installation

Il n'existe pas de solution sur apt-get pour forcer une installation. Dpkg a quelques options dans ce sens, mais qui ne résolvent pas toutes les situations pour autant.

sudo dpkg -i --force-overwrite package.deb
sudo dpkg -i --force-all package.deb

Trouver un paquet

Pour rechercher un paquet dans vos dépôts, tapez simplement la commande suivante :

apt-cache search <word1 word2 ...>

L'option search passée à apt-cache permet de chercher les paquets contenant certains mots.

Les réponses dépendent de vos dépôts et peuvent donc différer d'un système à l'autre.
Pour rechercher un paquet installé, il faut utiliser dpkg, par exemple :
dpkg -l NomDuPaquet

Obtention des codes sources

sudo n'est pas utilisé ici parce que ce n'est pas nécessaire. Le paquet sera enregistré dans votre Dossier Personnel.

Notez que "apt-get source" se sert des entrées "deb-src" dans le fichier /etc/apt/sources.list ou autres dans /etc/apt/sources.list.d.

L'instruction "apt-get source" va de pair avec "apt-get build-dep", qui installera les dépendances du paquet. Exemple complet:

apt-get install build-essential fakeroot
cd /tmp
apt-get source nano
apt-get build-dep nano
cd nano-2.2.6/
dpkg-buildpackage -rfakeroot -us -b

Suppression de paquets

Principe

Suppression + purge

Suppression de paquets d'installation

APT conserve une copie de chaque paquet installé et désinstallé sur votre disque dur (dans le dossier /var/cache/apt/archives). Utiliser les options ci-dessous permet de récupérer de l'espace disque par le nettoyage correspondant à l'option.

Mises à jour

Mise à jour dépôts

Mise à jour de paquets

Remarque : taper "man apt-get" dans un terminal donne une réponse en français et une explication plus complète et plus claire.

Bloquer la mise à jour d'un paquet

Ouvrez avec les droits d'administration le fichier /etc/apt/preferences (si le fichier n'existe pas, le créer) pour y insérer les lignes suivantes:

Package: nom_du_paquet
Pin: version du paquet à conserver
Pin-priority: 1001

La Priorité du Pin à 1001 bloque les futures mises à jour :-)

Exemple

Si par exemple vous souhaiter conserver la version 0.8.8 de kaffeine, vous indiquerez dans /etc/apt/preferences

Package: kaffeine
Pin: version 0.8.8
Pin-priority: 1001

Dans le doute, vérifier en tapant la commande sudo apt-cache policy nom_du_paquet, pour l'exemple du paquet kaffeine

sudo apt-cache policy kaffeine
Une méthode plus simple (toujours avec le paquet kaffeine):

Pour les utilisateurs d'apt-get :

sudo apt-mark hold kaffeine

Pour vérifier que le paquet n'a plus le statut install mais hold 10) :

apt-mark showhold

devrait afficher

kaffeine

dans la liste des réponses

Pour le débloquer :

sudo apt-mark unhold kaffeine

Source

Pour les utilisateurs d'aptitude11):

Pour geler un paquet

sudo aptitude hold kaffeine

Pour dégeler un paquet

sudo aptitude unhold kaffeine

Pour lister les paquets gelés :

sudo dpkg --list | grep ^hi

ou

sudo aptitude search "~ahold"

Remplacer kaffeine par le paquet que vous voulez bloquer ;)

Sauvegarde de la liste

Voir cette page pour pouvoir facilement faire une sauvegarde de la liste des paquets installés.

Mises à jour automatisées

Installer le paquet unattended-upgrades et lire ce guide du server Ubuntu sur les mises à jours automatiques (en français).
Si vous le souhaitez, vous pouvez paramétrer uniquement les mises à jour de sécurité en automatique.

Mettre en cache pour un déploiement sur réseau local

Si vous disposez d'un réseau local, pour économiser de la bande passante externe lors des mises à jours vous pouvez mettre en cache sur une des machines les paquets téléchargés et les déployer ensuite sur les autres postes en faisant appel à apt-cacher.

Divers

Utiliser un proxy

Il suffit d'exporter les paramètres du proxy à utiliser dans la variable d'environnement http_proxy, sous la forme suivante :

export http_proxy=http://utilisateur:motdepasse@exemple.com:port

où :

Pour rendre le changement permanent vous pouvez rajouter la ligne dans le fichier .bashrc ou créer un fichier proxy dans /etc/apt/apt.conf.d/proxy puis rajouter la ligne suivante :

Acquire::http::Proxy "http://utilisateur:motdepasse@exemple.com:port";

Pour un proxy FTP ajouter une partie comme suit :

Acquire::ftp
{
 Proxy "ftp://exemple.com:port/";
 ProxyLogin
 {
   "USER $(SITE_USER)@$(SITE)";
   "PASS $(SITE_PASS)";
 }
}

où :

N'oubliez pas, bien sûr, de changer le nom d'hôte exemple.com et le port.

Suppression d'un proxy

  1. Allez dans Système → Préférences →Serveur Mandataire
  2. Décochez "Configuration manuelle du serveur mandataire"
  3. Cochez "Connexion direct à internet"
  4. Cliquez sur "Appliquer à l'ensemble du système"
  5. Fermez
  6. Ouvrez avec les droits d'administration le fichier /etc/apt/apt.conf.d/proxy
  7. Effacez la ou les ligne(s) en rapport avec le proxy
  8. Après enregistrement, redémarrez votre PC

Et voilà il n'y a plus de proxy

Limiter la vitesse téléchargement

Créer avec les droits d'administration le fichier /etc/apt/apt.conf.d/76download et copier les lignes suivantes pour limiter le téléchargement.
Par exemple ici à 25kB/s :

Acquire
{
Queue-mode "access";
http
{
Dl-Limit "25";
};
};

Historique

 less /var/log/apt/history.log

history.log correspond à l'historique du mois en cours.

On affiche un tel fichier archivé avec zless

zless /var/log/apt/history.log.1.gz 

Voir aussi

—- Contributeurs : TrHiLKiL, ste, Emmanuel Gontcho, david96, boogy, Crustyourmind .

1) , 4) , 7)
ceux marqués comme "conffile", souvent placés dans /etc.
2) , 5) , 8)
dans les dossiers personnels
3) , 6) , 9)
dans le /var
10)
bloqué
11)
merci à cthuluh #debian-fr